﻿using System;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Documents;
using System.Windows.Ink;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Animation;
using System.Windows.Shapes;
using System.Linq;

using Common.Admin;
using System.Collections.Generic;
using Liquid;
namespace Common
{
    public class StudyManager
    {
        public enum ClaimEnum { Gender = 1, Birthdate = 2, Address = 3, City = 4, State = 5, ZipCode = 6, Country = 7, GivenName = 8, Surname = 10, EmailAddress = 11, StudentId = 12 };
        public const string XamlInitializationString = 
            "<Grid xmlns=\"http://schemas.microsoft.com/winfx/2006/xaml/presentation\" " +
            "xmlns:x=\"http://schemas.microsoft.com/winfx/2006/xaml\" "+
            "xmlns:extended=\"clr-namespace:System.Windows.Controls;assembly=System.Windows.Controls\" " +
            "xmlns:liquid=\"clr-namespace:Liquid;assembly=Liquid\" " +
            "xmlns:extensions=\"clr-namespace:SLExtensions.Controls;assembly=SLExtensions.Controls\" " +
            "xmlns:data=\"clr-namespace:System.Windows.Controls;assembly=System.Windows.Controls.Data\"" +            
            ">{0}</Grid>";
        private static StudyManager _studyManager;
        public static AdminServiceWCFClient GetAdminServiceWCFClient()
        {
            Uri address = new Uri(Application.Current.Host.Source, "../AdminServiceWCF.svc");
            AdminServiceWCFClient a = new AdminServiceWCFClient(
                "BasicHttpBinding_IAdminServiceWCF"
                , address.AbsoluteUri);
            return a;
        }
        private StudyManager()
        {
            
        }
        public static StudyManager GetInstance()
        {
            if (_studyManager == null)
                _studyManager = new StudyManager();
            return _studyManager;
        }
        #region public properties
        public int IndividualId { get; set; }
        public List<Study> Studies { get; set; }
        public List<Condition> Conditions { get; set; }
        public List<StudyWave> StudyWaves { get; set; }
        public List<StudyWaveSurvey> StudyWaveSurveys { get; set; }
        public List<Survey> Surveys { get; set; }
        public List<SurveyPage> SurveyPages { get; set; }
        public List<SurveySurveyPage> SurveySurveyPages { get; set; }
        public List<Claim> Claims { get; set; }
        public List<StudyClaim> StudyClaims { get; set; }
        #endregion
                      
    }
}
